package com.lsl.factory_method;

import com.lsl.factory_method.example.framework.Product;
import com.lsl.factory_method.example.idcard.IDCardFactory;

/**
 * 工厂模式
 * <p>
 * 如果我们用工厂模式再创建其他的产品和工厂，这时我们只需要引入framework包就可以了
 * 我们不需要修改framework包里的任何东西就可以创建出其他的"产品"和"工厂"
 *
 * @author Zed
 * @description
 * @date 2022/11/1 21:22
 */
public class FactoryMethodTest {
    public static void main(String[] args) {
        IDCardFactory idCardFactory = new IDCardFactory();
        Product card1 = idCardFactory.create("小明");
        Product card2 = idCardFactory.create("小红");
        Product card3 = idCardFactory.create("小刚");
        card1.use();
        card2.use();
        card3.use();
        System.out.println(idCardFactory.getOwners());
    }
}
